package edu.washington.ling.syntric.struct.error;

import org.apache.commons.lang.StringUtils;

public class InvalidValueException extends Exception {
	
	private static final long serialVersionUID = 1L;
	private String invalidValue;
	private String possibleValues;
	
	public InvalidValueException(String message, String invalidValue, String[] possibleValues) {
		super(message);
		this.invalidValue = invalidValue;
		this.possibleValues = StringUtils.join(possibleValues, ", ");
	}
	
	@Override
	public String getMessage() {
		return String.format("%s\nInvalid value:\'%s\'\nPossible values: \'%s\'", super.getMessage(), invalidValue, possibleValues	);
	}
}
